package com.edu.demo.entity;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 合同表
 * </p>
 *
 * @author jixuewei
 * @since 2023-01-12
 */
@ApiModel(value = "Contract对象", description = "合同表")
public class Contract implements Serializable {

    private static final long serialVersionUID = 1L;

    @MppMultiId
    private Integer projectId;

    @MppMultiId
    private Integer stuId;

    @Getter @Setter
    private String stuName;

    @ApiModelProperty("应付酬劳")
    private Integer remuneration;

    @ApiModelProperty("签订日期")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date signTime;

    @ApiModelProperty("实际支付酬劳")
    private Integer actualPay;

    @Getter@Setter
    private String proName;


    @TableField(exist = false)
    private Student student;

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    @ApiModelProperty("0签订，1项目完成未支付，2项目完成已支付，3离职")
    private Byte status;


    private String prove;


    /**
     * 备注
     */
    private String remark;

    public Integer getProjectId() {
        return projectId;
    }


    public Student getStudent() {
        return student;
    }

    public void setStudent(Student student) {
        this.student = student;
    }

    public void setProjectId(Integer projectId) {
        this.projectId = projectId;
    }

    public Integer getStuId() {
        return stuId;
    }

    public void setStuId(Integer stuId) {
        this.stuId = stuId;
    }

    public Integer getRemuneration() {
        return remuneration;
    }

    public void setRemuneration(Integer remuneration) {
        this.remuneration = remuneration;
    }

    public Date getSignTime() {
        return signTime;
    }

    public void setSignTime(Date signTime) {
        this.signTime = signTime;
    }

    public Integer getActualPay() {
        return actualPay;
    }

    public void setActualPay(Integer actualPay) {
        this.actualPay = actualPay;
    }

    public Byte getStatus() {
        return status;
    }

    public void setStatus(Byte status) {
        this.status = status;
    }


    public String getProve() {
        return prove;
    }

    public void setProve(String prove) {
        this.prove = prove;
    }

    @Override
    public String toString() {
        return "Contract{" +
            "projectId = " + projectId +
            ", stuId = " + stuId +
            ", remuneration = " + remuneration +
            ", signTime = " + signTime +
            ", actualPay = " + actualPay +
            ", status = " + status +
        "}";
    }
}
